Various technologies have been proposed for extracting (creating) differential data for generating, from old data, data identical to new data.
For example, with a technology described in Patent Document 1, old data is compared with new data in terms of byte to extract, as copy data (Move data), byte strings conforming to both the data, and to extract, as additional data, byte strings present only in the new data. And then differential data including a copy command (Move command) representing the extracted copy data and an addition command representing the extracted additional data is created.
The copy command does not include the copy data itself, but indicates a storage location and a size of the copy data in the old data. Normally, since a size of data containing a storage location and a size of copy data is rather smaller than a size of the copy data itself, the larger such copy data, the higher an effect of reducing differential data in size.
For example, the description here assumes that data obtained by inserting 1-byte insertion data B at a top of 32-byte old data A is new data C. That is, 33-byte data {B, A} is the new data C. In such a case, differential data extracted through the technology described in Patent Document 1 can include an addition command and a copy command described below.
Addition command (1 byte): Includes 1-byte additional data representing the insertion data B. In this regard, a value should take other than a delimiter (0x0F). Moreover, (0x**) should indicate a hexadecimal notation.
Copy command (2 bytes): Includes 1-byte delimiter (0x0F) representing a copy command, and 1-byte data (0x20) representing a size of the copy data (32 bytes). Since a top address of the copy data in the old data A is 0, no address field is required.
As a result, the differential data for generating, from the old data A, data identical to the new data C is 3-byte data, rather than 33-byte data, thus the differential data is reduced in size. Such an effect of reducing differential data in size becomes significant, in differential data, when copy data increases, but additional data reduces.